package com.zxl.designpattern.behavioral.memento; /**
 * 负责人类
 * 管理备忘录，但不查看或修改备忘录内容
 */
import java.util.Stack;

public class Caretaker {
    private Stack<IText> texts = new Stack<>();  // 备忘录栈
    
    /**
     * 保存状态
     * @param iText 要保存的备忘录
     */
    public void saveState(IText iText) {
        texts.push(iText);
    }
    
    /**
     * 获取上一个状态
     * @return 上一个状态的备忘录
     */
    public IText getPreviousState() {
        if (texts.isEmpty()) {
            System.out.println("没有可恢复的历史记录");
            return null;
        }
        return texts.pop();
    }
}    